package orcamento;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.*;

import usuario.EntidadeCliente;

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Table(name = "orcamento")
@SequenceGenerator( name = "ORC_ID", sequenceName = "ORC_SEQ", allocationSize = 1 )
public class EntidadeOrcamento implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Id
	@Column(name = "num_orc")  
    @GeneratedValue( strategy = GenerationType.IDENTITY, generator = "ORC_ID" )  
	private int num_orc;
	@Column(name = "nome")
	private String nome;
	@Column(name = "email")
	private String email;
	@Column(name = "total")
	private float total;
	@Column(name = "status")
	private String status;
	@Column(name = "data_criacao")
	private Date data_criacao;
	@OneToMany(mappedBy = "itemorc", cascade = CascadeType.ALL)
	private List<Item_orc_serv> listserv = new ArrayList<Item_orc_serv>();
	@OneToMany(mappedBy = "itemorcmat", cascade = CascadeType.ALL)
	private List<Item_orc_mat> listmat = new ArrayList<Item_orc_mat>();
	@ManyToOne
	@JoinColumn(name = "cliente") 
	private EntidadeCliente cliente;
	
	public void AdicionarItem_serv(Item_orc_serv item)
	{
	        listserv.add(item);
	        item.setItemorc(this);
	}
	
	public void AdicionarItem_mat(Item_orc_mat item)
	{
	        listmat.add(item);
	        item.setItemorcmat(this);
	}
	
	public Date getData_criacao() {
		return data_criacao;
	}

	public void setData_criacao(Date data_criacao) {
		this.data_criacao = data_criacao;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public EntidadeCliente getCliente() {
		return cliente;
	}

	public void setCliente(EntidadeCliente cliente) {
		this.cliente = cliente;
	}

	public int getNum_orc() {
		return num_orc;
	}

	public void setNum_orc(int num_orc) {
		this.num_orc = num_orc;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public float getTotal() {
		return total;
	}

	public void setTotal(float total) {
		this.total = total;
	}

	public List<Item_orc_serv> getListserv() {
		return listserv;
	}

	public void setListserv(List<Item_orc_serv> listserv) {
		this.listserv = listserv;
	}

	public List<Item_orc_mat> getListmat() {
		return listmat;
	}

	public void setListmat(List<Item_orc_mat> listmat) {
		this.listmat = listmat;
	}
	

}
